Tracking user micro-interactions with web page advertising

ABSTRACT

In connection with display of advertising within Web pages, an applet is downloaded to the user&#39;s Web browser to track the user&#39;s interactions with the Web page. Tracked user interactions include mouse cursor position, time displayed on page, time of mouse cursor hovering over the advertisement, and so on. At an appropriate time, such as when the display of the Web page is terminated, the applet forwards logged interaction information from the client to a remote server, the remote server being typically controlled by an advertiser, rating service or the like. As a result, the advertiser may track consumer response to advertising impressions on a Web page without requiring the user to download other pages. This allows advertisers to track user response to specific elements of the Web page as well as to better infer information about the user&#39;s interests in an effort to qualify the user prior to presenting subsequent advertising.

RELATED APPLICATIONS

[0001] This application is a continuation of U.S. application Ser. No.09/146,012, filed Sep. 2, 1998 which claims the benefit of U.S.Provisional Application No. 60/058,655, filed on Sep. 11, 1997.

[0002] The entire teachings of the above applications are incorporatedherein by reference.

BACKGROUND OF THE INVENTION

[0003] Distributed computing environments are becoming a very popularmechanism for publishing information of various types. In such anenvironment, a network of several different types of computers is usedin order to share access to information. Certain computers, known asservers, contain databases and other repositories of information. Othercomputers in the network, known as clients, act as interfaces for thehuman users to retrieve and display information.

[0004] One particularly well known example of a distributed computingenvironment is the World Wide Web. In this environment, the Web servercomputers presently in use typically store data files, or so-called Webpages, in a format known as Hypertext Markup Language (HTML). Web pagesare transferred between Web servers and clients using a communicationprotocol known as Hypertext Transfer Protocol (HTTP). HTML permits theWeb servers, or sites, to handle container or document files whichreference other files of varying formats. Using HTML, a given Web pagemay include content information in various formats. An HTML format filemay also refer to other files, by including reference information, knownas a Uniform Reference Locator (URL), which specifies the location ofremote Web servers at which the other files may be located.

[0005] Certain Web servers, such as those maintained by on-line serviceproviders such as America On Line (AOL™) or Microsoft Network (MSN™),are an increasingly popular way for people to obtain information ofinterest on the World Wide Web. (AOL™ is a trademark of America On Line,Inc. of Dulles, Va. MSN™ is a trademark of Microsoft Corporation ofRedmond, Wash.) Indeed, certain Web sites host search engines such asAltaVista™, Yahoo™, and InfoSeek™ and thus are exclusively devoted toguiding users through the Web. (AltaVista™ is a trademark of DigitalEquipment Corporation of Maynard, Mass.; Yahoo™ is a trademark of Yahoo!Corporation of Santa Clara, Calif.; and InfoSeek™ is a trademark ofInfoSeek Corporation of Sunnyvale, Calif.). These sites are so popularthat their operators provide their services free of charge to users ofthe Web, and support themselves typically by selling advertising spaceon their Web pages. Thus, an advertiser, for example, a running shoemanufacturer, may contract with a search service such as Yahoo, or anon-line service, such as AOL, to periodically present its ads on theirWeb pages in much the same manner that commercials are traditionallypurchased from television broadcasters.

[0006] Certain tools are presently in use by the providers of suchservices and advertisers, typically in order to calculate advertisingrates. For example, the Web servers at such sites may count the numberof times that the Web page containing the advertisement is displayed.

[0007] Alternatively, an advertiser may count the number of visits thatits own Web page receives as a result of linking from the original Webpage advertisement, i.e., the number of times that users request the URLof the advertiser's Web site via the original Web page on which theadvertisement was displayed. In the usual model of user interaction witha Web page, this occurs whenever the user clicks (i.e., selects by amouse input device) on a hypertext item. In many instances, objects suchas graphical images or “GIFs” may be clicked on to activate thehypertext links.

[0008] Advertisers, however, would like not only to count a number of“impressions,” or how many times their advertisement is seen, but alsoto find a way to track how effective their ads are in attractingconsumers' interest in their products.

[0009] Advertisers would also like to find a way to more precisely gaugea user's interest in a product, as well as to entice those users who arecasually browsing through the World Wide Web, without actually requiringusers to download the advertiser's Web page. In this manner, interest ina particular product or promotion could be gauged directly from datasurrounding the initial presentation of the advertisement.

SUMMARY OF THE INVENTION

[0010] Briefly, the present invention is a technique for tracking userinteractions with the elements that comprise a Web page advertisement.As a result, an advertiser may understand (make inferences as to) whatmotivates users to pay initial attention to and/or otherwise interactwith Web page advertising.

[0011] The invention, in particular, tracks any sort of user“micro-interaction” with the advertisement. The user interactions whichare tracked, for example, may include mouse movement, mouse clicks, andother mouse activity such as it relates to elements in the ad. Theseelements may include various display items such as graphics, pictures,or words, or may include user prompting items such as menus, buttons, orslides. Elements also may include defined regions of the advertisement.

[0012] The activities monitored may include how long an object isdisplayed, which objects are selected by a user, which items areconsidered by a user according to the amount of time the cursor hoversover the items, measuring the time of presentation of an element invarious ways, and/or activating hyperlinks.

[0013] The tracked interactions are preferably logged to a local memoryby a downloadable Web browser applet embedded in the Web page, such as aprogram written in an interpretive language such as Java™. (Java™ is atrademark of Sun Microsystems Corporation of Sunnyvale, Calif.)

[0014] The logged interactions as stored in the local memory file arethen sent to a remote server at appropriate times. For example, in thepreferred embodiment, the logged interaction information may be includedin a “dummy” HTTP GET message sent by the client to the server at thetime the applet is taken down, such as when the user requests that anext page be displayed.

[0015] The logged interaction information may be flushed in other ways,such as by sending a POST message to the server either periodically orupon occurrence of certain events.

[0016] The invention therefore permits the tracking of user interactionswith a Web page advertisement before subsequent actions, such as loadingthe advertiser's home Web page, occur. For example, the applet mayintercept multiple interactions such as mouse clicks on objects tofurther qualify a user before loading a specific one of the advertiser'sown home Web pages.

[0017] As a result, the advertiser may obtain information about whatinterests the user without the user having to leave the originallydisplayed Web page or performing other tasks which are perceived asbeing cumbersome and/or distracting from what the user was originallydoing.

BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The foregoing and other objects, features and advantages of theinvention will be apparent from the following more particulardescription of preferred embodiments of the invention, as illustrated inthe accompanying drawings in which like reference characters refer tothe same parts throughout the different views. The drawings are notnecessarily to scale, emphasis instead being placed upon illustratingthe principles of the invention.

[0019]FIG. 1 is a block diagram of a distributed computing systemillustrating a manner of tracking user interaction with a Web pageaccording to the invention.

[0020]FIG. 2 is a flow chart of the operations performed by an appletprogram according to the invention.

[0021]FIG. 3 is a typical Web page display illustrating how theinvention may prequalify a user.

DETAILED DESCRIPTION OF THE INVENTION

[0022]FIG. 1 is a block diagram of a distributed computing system 10.The distributed computing system 10 includes a number of computers 12,20 interconnected by a communication media 14. The communication media14, and in general the distributed computing system 10, may make use ofany number of computer networking techniques such as local area networks(LANs), routers, dial-up connections, and/or other data communicationtechniques to form what has become known as an “intranet” or “internet.”In the preferred embodiment, the present invention is employed in whathas become known as “the Internet,” which is an international computernetwork linking many millions of computers.

[0023] Typically the computers 12, 20 are personal computers,mini-computers, or the like. Certain of the computers in the distributedcomputing system 10 act as servers 12 a, 12 b, and are used primarily tostore and supply information. One type of server 12 a which is inwidespread use on the Internet is known as a Web server that providesaccess to information stored in a form known as a Web page 16.

[0024] Other computers in the distributed computing system 10 known asclients 20 a, . . . , 20 n are typically controlled by one user. Thetypical client computer 20 a includes, as for any computer, a processor22, a memory 24, and a display 26. The client computers 20 allow a userto view Web pages 16 by “downloading” replica Web page files 40 to theclient computer 20 a from the server computer 12 a over communicationmedia 14. The Web page files 40 enable replication of the Web page 16 onthe client computer 20 a. The downloading function is specificallyperformed by a browser program 28, which preferably includes browserprogram software such as Netscape Navigator™ or Microsoft InternetExplorer™. (Netscape Navigator™ is a trademark of NetscapeCommunications Corporation of Mountain View, Calif., and InternetExplore™ is a trademark of Microsoft Corporation of Redmond, Wash.)These browser programs include and/or permit the use of embeddedinterpretive languages 30, such as Java™, that may execute programs thatare included in the Web page file 16.

[0025] The browser program 28 thus enables the user to create a view ofthe Web page 16, such as in a window 34 on the display 26. It should beunderstood that other windows 35 and other programs 36 may relate toother programs 31 that the user is presently running on the processor22. In order to display the Web page 16, the browser program 28typically downloads the Web page files to its local memory 24, storingit as a local replica 40. The Web page replica 40 includes variousportions such as a Hypertext Markup Language (HTML) as well as otherinstructions for the Browser program 28 to format the Web pageinformation in the window 34.

[0026] The Web page replica 40 also includes Java™ code 44 that includesinstructions to be run while the user computer 20 a is displaying theWeb page.

[0027] The display of the Web page replica 40 in the window 34 mayinclude various regions such as a user input area 37 where the userenters addresses of Web pages that he or she desires to view, and menus38 for other actions associated with operating the browser program 28itself.

[0028] Of interest to the description of the present invention is a Webpage replica 40 that contains at least one advertisement area 39. Theadvertisement 39 on the Web page replica 40 is typically created by theprovider of a service or product manufacturer. The advertisement 39 istypically used as an enticement for the user to download other Web pagesspecifically associated with the originator or author of theadvertisement 39.

[0029] In accordance with the invention, the Java™ code 44 includes anapplet program and data for tracking and logging the activities of theuser in memory 24 while the user is viewing the Web page replica 40. Theapplet program 44 therefore permits the authors of the advertisement 39to better understand how the users interact with the Web pageadvertisement in order to provide more effective advertising.

[0030] More specifically, the Web page replica 40 includes the Java™code applet 44 that describes the particular attributes of theadvertisement 39. Once the Web page replica 40 begins to display, theapplet 44 also begins to execute in order to track and/or log useractivities as they relate to various parts or objects of theadvertisement 39.

[0031] For example, the applet 44 may include information that describesregions 46 of the advertisement 39, a list of visual elements 48associated with the advertisement 39, and/or user activity definitions50 that may take place within the context of the advertisement 39. Theregions 46 may define areas within the advertisement 39, such as areasdevoted to text or graphics. The elements 48 within the advertisement 39may include various graphical images. The elements 48 may also includeuser prompts such as buttons, menus, slide bars, radio buttons, and thelike.

[0032] The list of activity definitions 50 may include various types ofuser input. The most important user input is typically mouse position,as reflected by the position of a cursor 33, but these may also includeother user inputs such as mouse clicks or keyboard inputs.

[0033]FIG. 2 is a flow chart of the operations performed by the applet44 in the process of tracking user interactions with the advertisement39. An initial state 100 is entered when the applet is first started.This typically occurs when the user requests the display of the Web page16 and the replica 40 has been downloaded or has at least begun beingdownloaded from the server 12 a.

[0034] In the next state 101, the applet program 44 begins execution onthe client computer 20 a. This is typically in the context of aninterpretative language such as the Java™ language executed within thebrowser 28. However, it should be understood that the applet may beimplemented in other ways, as long as the applet 44 has access to theappropriate user inputs and local memory 24 for the logging of useractivities with respect to the advertisement 39.

[0035] In the next state 102, the applet 44 establishes a local list ofelements and regions on the Web page replica 40 associated with theadvertisement 39 that are of concern.

[0036] A next state 104 is then entered in which user activities withrespect to objects within the advertisement 39 may begin to be trackedby logging information in local memory locations 24 at the client 20.From this state 104, any number of states 106 through 114 and/or state118 may be next entered for any given element 48.

[0037] For example, in state 106, the elapsed time that the element 48has been displayed on the page is tracked.

[0038] In state 108, the fact that the mouse hovered near an element 48,i.e., the fact that the user moved the mouse within a region 46 of thepage associated with the element 48 but did not actually click on theelement, is tracked.

[0039] In state 110, the fact that the user clicked on an element 48 istracked. It should be noted that this may include the tracking of one ormore mouse clicks on one or more elements 48 by making multiple entriesin the log 60. Thus, unlike the standard operation of an HTML hyperlink,a single mouse click may not necessarily automatically lead to theloading of the next Web page 16.

[0040] In state 112, the applet 44 tracks cursor 33 location at themoment of a mouse click with respect to the element 48.

[0041] In another state 114, the applet 44 may adjust the time frameassociated with the particular action being logged. For example, whenthe user initially views a Web page 40, certain activities such ascursor 33 location maybe tracked in short-time intervals such asmicroseconds. However, other items such as the elapsed time an element48 is displayed on the page may be tracked in longer time intervals suchas seconds. Certain items such as cursor hover time may initially betracked in a microsecond time frame, and then, depending upon the amountof time the element has been displayed, will switch to tracking a longertime interval, such as seconds.

[0042] In state 116, the fact of the user requesting a different Webpage is tracked.

[0043] It should be understood that, in states 106 through 114, dataassociated with the various user activities is logged in a portion ofthe memory 24 associated with maintaining an activity log 60.

[0044] Eventually, a state 118 is reached in which the user indicatesthat he or she wishes to leave the present page 40. This event istypically associated with loading another page in state 116 or may alsoinclude the closing of the browser program window 34.

[0045] At certain times, state 120 is entered in which the activity log60 is sent from the local memory 24 by the applet 44 back to a server 12b. The server 12 b is typically associated with the advertiser, or anadvertisement rating service. This server 12 b may or may not be thesame server 12 a from which the Web page 46 was originally downloaded.The applet 44 may then terminate.

[0046] In the preferred implementation of state 120, the activity log 13is sent to the server 12 b via a “dummy” HTTP GET message sent via a“back channel” to the server 12 b at the time that the user leaves thepresent page 40. In particular, this back channel is a second networkconnection, different from the network connection used to fetch the Webpage and download the applet in step 100. The dummy message is encodedas an HTTP GET with interaction log data shared in the GET message insuch a way as to appear to be part of an extended address, for example.Thus, the browser program 28 does not need to perform any specialfunctions or otherwise be modified.

[0047] However, the interaction log data may also be sent at othertimes. For example, while the advertisement is being displayed, theapplet may periodically open a back channel connection and send a POSTmessage to the server 12 b. Alternatively, certain events may triggersending the logged interaction data, such as when the user clicks on aparticular part of the advertisement

[0048] What is important is that the logged interaction data iseventually flushed to the server 12 b, so that the author of theadvertisement 39 may occasionally check on the collection 62 of activitylogs stored at the server 12 b and analyze the data in order todetermine the effectiveness of the advertisement 39.

[0049]FIG. 3 is a view of a Web page such as that produced by a searchengine such as Yahoo™. The advertisement 39 is typically displayed in adefined region on the Web page 40. In this example, the effectiveness ofthe advertisement 39 associated with the advertiser who is in therunning shoe business is being tracked. In the example, the applet 44tracks how long a user allows the mouse cursor 50 to hover near one ofthe eight possible displayed selections for running shoes. The applet 44also tracks the position of the mouse to determine which one or more ofthe running shoes is selected by user-activated mouse clicks. Thisinformation is then sent to the logging server 12 b and is used prior toloading the manufacturer's Web page. Thus, the relative interest in aparticular type of shoe may be gauged before the advertiser's Web pageis loaded or, indeed, a lack of interest, in particular lead or “teaser”items, may be determined prior to the user requesting that themanufacturer's Web page be loaded.

[0050] It is now understood how the invention provides variousadvantages over the prior art. In particular, the invention includes anapplet 44 that is downloaded together with a Web page 40 (Web pagefiles) capable of logging the user's interactions with elements 48 onthe page. The applet in particular logs user interactions with the page40 that indicates user interest to an advertiser. By identifying regionson the page and then tracking user activity and relating it to theparticular elements or regions on the page, the advertiser may thereforemore effectively evaluate the effectiveness of particular objects in theadvertising.

[0051] By collecting the interaction data locally and then sending themto a server which logs data locally via a back channel, the operation ofthe client computer or data stored thereon need not be permanentlymodified.

[0052] By tracking multiple interactions before loading the advertiser'sown Web page, the advertiser may prequalify a user and hence customizeor tailor information to be displayed. In turn, the advertiser may moreeffectively present the information once the advertiser's Web page isrequested by the user.

[0053] The user may also be enticed to interact with a Web pageadvertisement, thereby disclosing information about the user'sinterests, without their actually requesting the loading of Web pagesassociated with the advertiser.

[0054] While this invention has been particularly shown and describedwith references to preferred embodiments thereof, it will be understoodby those skilled in the art that various changes in form and details maybe made therein without departing from the scope of the inventionencompassed by the appended claims.

What is claimed is:
 1. In a distributed computing system for displayinginformation, a method comprising the steps of: displaying to a user arepresentation of an advertisement in electronic form; tracking userinteraction with the advertisement; logging the user interactions whilethe advertisement is being displayed to the user; and sending userinteraction log data to a remote server.
 2. A method as in claim 1wherein the interaction log data is sent to the remote server when thedisplay of the advertisement is terminated by the user.
 3. A method asin claim 1 wherein the interaction log data is sent to the remote serverupon the occurrence of a user interaction with the advertisement.
 4. Amethod as in claim 1 wherein the interaction log data is sent to theremote server periodically.
 5. A method as in claim 1 wherein the stepof sending interaction log data additionally comprises the steps of:opening a connection to the remote server; and sending a message to theremote server over the connection, the message containing theinteraction log data.
 6. A method as in claim 5 wherein the message isan HTTP GET message.
 7. A method as in claim 6 wherein the interactionlog data is encoded as to appear as part of an extended address field inthe HTTP GET message.
 8. A method as in claim 1 wherein the interactionlog data includes mouse position and time of mouse hovering overadvertisement.
 9. A method as in claim 1 additionally comprising thestep of: downloading the advertisement from a second server differentfrom the remote server.
 10. In a distributed computing system fordisplaying information, a method comprising the steps of: displaying toa user a representation of a page in electronic form, the pagecontaining at least one advertisement composed of two or more regions,each region containing a visual element of the advertisement; trackinguser micro-interactions with each of the elements in the advertisementthrough the steps of: maintaining a list of elements displayed in theadvertisement; determining when a screen pointer hover occurs within aparticular element of the advertisement, and the screen pointer hoveroccurring without requiring a user interaction on the element; andcreating a micro-interaction data record in response thereto; loggingthe micro-interaction data records while the advertisement is beingdisplayed to the user; and sending the micro-interaction data records toa remote server.
 11. A method as in claim 10 wherein themicro-interaction data records are sent to the remote server when thedisplay of the advertisement is terminated by the user.
 12. A method asin claim 10 wherein the micro-interaction data records are sent to theremote server upon the occurrence of a user interaction with theadvertisement.
 13. A method as in claim 10 wherein the micro-interactiondata records are sent to the remote server periodically.
 14. A method asin claim 10 wherein the step of sending micro-interaction data recordsadditionally comprises the steps of: opening a connection to the remoteserver; and sending a message to the remote server over the connection,the message containing the micro-interaction data records.
 15. A methodas in claim 14 wherein the message is an HTTP GET message.
 16. A methodas in claim 10 wherein the micro-interaction data records includeinformation with respect to screen pointer position within the element.17. A method as in claim 16 wherein the micro-interaction data recordsinclude information indicating a time sequence of screen pointerpositions within the element.
 18. A method as in claim 10 additionallycomprising the step of: downloading the advertisement from a secondserver different from the remote server.
 19. In a distributed computingsystem for displaying information, a method comprising the steps of:displaying to a user a representation of an advertisement in electronicform; periodically tracking user interaction with the advertisement;logging the user interactions while the advertisement is being displayedto the user; and sending user interaction log data to a remote server.20. A method as in claim 19 wherein the periodicity of the tracking isvariable.
 21. A method as in claim 19 wherein the periodicity of thetracking is logarithmic.
 22. In a distributed computing system fordisplaying information, a method comprising the steps of: displaying toa user a representation of an advertisement in electronic form; trackinguser interaction with the advertisement; logging the user interactionswhile the advertisement is being displayed to the user; and periodicallysending user interaction log data to a remote server.
 23. A method as inclaim 22 wherein the periodicity of the sending is variable.
 24. Amethod as in claim 22 wherein the periodicity of the sending islogarithmic.
 25. In a distributed system for displaying information, amethod comprising the steps of: displaying to a user a representation ofan advertisement in electronic form; tracking user interaction with theadvertisement; logging the user interactions while the advertisement isbeing displayed to the user; and sending user interaction log data to aremote user interaction log aggregation device.
 26. In a distributedsystem for displaying information content, a method comprising the stepsof: displaying to a user a representation of the information content inelectronic form; tracking user interaction with the information content;logging the user interactions while the information content is beingdisplayed to the user; and sending user interaction log data to a remoteuser interaction log aggregation device.